From 4d74d5e0cdf7929f3adc84220f9d724f2d55c9d9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 6 Apr 2005 12:45:55 +0000 Subject: [PATCH] Don't modify scanner->value, copy it first. (#165693, Tommi Komulainen) 2005-04-06 Matthias Clasen * gtk/gtkrc.c (gtk_rc_parse_style): Don't modify scanner->value, copy it first. (#165693, Tommi Komulainen) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkrc.c | 7 +++++-- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 867ec6e5bd..c499a4b6c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-04-06 Matthias Clasen + + * gtk/gtkrc.c (gtk_rc_parse_style): Don't modify scanner->value, + copy it first. (#165693, Tommi Komulainen) + 2005-04-05 Matthias Clasen * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_grab_focus): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 867ec6e5bd..c499a4b6c9 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-04-06 Matthias Clasen + + * gtk/gtkrc.c (gtk_rc_parse_style): Don't modify scanner->value, + copy it first. (#165693, Tommi Komulainen) + 2005-04-05 Matthias Clasen * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_grab_focus): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 867ec6e5bd..c499a4b6c9 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2005-04-06 Matthias Clasen + + * gtk/gtkrc.c (gtk_rc_parse_style): Don't modify scanner->value, + copy it first. (#165693, Tommi Komulainen) + 2005-04-05 Matthias Clasen * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_grab_focus): diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 1953cd0844..82221c8e54 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -2696,6 +2696,7 @@ gtk_rc_parse_style (GtkRcContext *context, scanner->next_value.v_identifier[0] <= 'Z') /* match namespaced type names */ { GtkRcProperty prop = { 0, 0, NULL, { 0, }, }; + gchar *name; g_scanner_get_next_token (scanner); /* eat type name */ prop.type_name = g_quark_from_string (scanner->value.v_identifier); @@ -2713,8 +2714,10 @@ gtk_rc_parse_style (GtkRcContext *context, } /* it's important that we do the same canonification as GParamSpecPool here */ - g_strcanon (scanner->value.v_identifier, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-'); - prop.property_name = g_quark_from_string (scanner->value.v_identifier); + name = g_strdup (scanner->value.v_identifier); + g_strcanon (name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-'); + prop.property_name = g_quark_from_string (name); + g_free (name) token = gtk_rc_parse_assignment (scanner, &prop); if (token == G_TOKEN_NONE) -- 2.30.2